From 41f1a2fac48465b0b3863f1f9eec0a1a72101e46 Mon Sep 17 00:00:00 2001 From: Andres Lagar-Cavilla Date: Thu, 24 Nov 2011 16:34:34 +0000 Subject: [PATCH] x86/mm: ASSERT we are putting the right gfn in the XENMAPSPACE_gmfn* cases Signed-off-by: Andres Lagar-Cavilla Acked-by: Tim Deegan Committed-by: Tim Deegan --- xen/arch/x86/mm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index f9db1a6d91..8b4ab90d21 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -4773,13 +4773,16 @@ static int xenmem_add_to_physmap_once( /* Unmap from old location, if any. */ gpfn = get_gpfn_from_mfn(mfn); ASSERT( gpfn != SHARED_M2P_ENTRY ); + if ( xatp->space == XENMAPSPACE_gmfn || + xatp->space == XENMAPSPACE_gmfn_range ) + ASSERT( gpfn == gfn ); if ( gpfn != INVALID_M2P_ENTRY ) guest_physmap_remove_page(d, gpfn, mfn, PAGE_ORDER_4K); /* Map at new location. */ rc = guest_physmap_add_page(d, xatp->gpfn, mfn, PAGE_ORDER_4K); - /* In the XENMAPSPACE_gmfn, we took a ref and locked the p2m at the top */ + /* In the XENMAPSPACE_gmfn, we took a ref of the gfn at the top */ if ( xatp->space == XENMAPSPACE_gmfn || xatp->space == XENMAPSPACE_gmfn_range ) put_gfn(d, gfn); -- 2.30.2